Skip to content
This repository was archived by the owner on May 31, 2026. It is now read-only.

fix: cross-project routing recipe + backfill bm_recent#6

Merged
groksrc merged 5 commits into
mainfrom
docs/skill-cross-project
May 12, 2026
Merged

fix: cross-project routing recipe + backfill bm_recent#6
groksrc merged 5 commits into
mainfrom
docs/skill-cross-project

Conversation

@groksrc

@groksrc groksrc commented May 12, 2026

Copy link
Copy Markdown
Member

Summary

Brings SKILL.md in sync with the tool surface as of 0.3.0. Originally drafted as part of #5 but landed here separately after the merge. Closes the documentation half of the work prompted by "Hermes Basic Memory Cloud Task Experience" — paired with #4 (per-call routing) and #5 (`bm_projects` / `bm_workspaces`), the friction is now fully addressed.

Additions to `skill/SKILL.md`:

  • `bm_recent` reference — backfill; the tool shipped in 0.2.0 but the skill never documented it.
  • `bm_projects` and `bm_workspaces` reference — the two new agent tools from feat: bm_projects and bm_workspaces as agent tools #5.
  • "Cross-project routing" section — explains `project` (name) vs `project_id` (UUID) precedence and the workspace disambiguation flow.
  • Recipe: writing an existing file into a specific project — worked example matching the friction note's exact scenario: `bm_projects` → read file → `bm_write(project_id=...)` → `bm_read` to verify.
  • Extended "When to use" lookup table — covers the new tools and the cross-project cases so the agent has a single index.

Also rolls the SKILL.md bullet into the `[0.3.0]` CHANGELOG entry (the section's note previously called this out as a "remaining follow-up").

Test plan

  • No code changes — SKILL.md and CHANGELOG only.
  • Manual: load the updated skill (`skill:view basic-memory:basic-memory`) in a live Hermes session and confirm it renders cleanly. Try the worked recipe end-to-end against a multi-workspace BM Cloud account if available.

🤖 Generated with Claude Code

groksrc and others added 5 commits May 12, 2026 14:40
…workspaces

Adds the missing tool entries (bm_recent has been around since 0.2.0 but
the skill never documented it; bm_projects/bm_workspaces are new in
this PR) and a worked recipe for the friction scenario from "Hermes
Basic Memory Cloud Task Experience":

  discover (bm_projects) → read file → write with project_id → verify

Cross-project routing gets its own section explaining project vs
project_id and the workspace disambiguation flow. The "When to use"
table extends to cover the new tools and the cross-project case so
the agent has a single lookup index.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The cherry-picked SKILL.md commit ships under the same release as the
tools it documents (#4 routing + #5 discovery tools), so move it from
"remaining follow-up" to its own bullet in [0.3.0].

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
After digging into basic-memory's recent workspace-routing work
(PRs #790, #795, #801, #803, #807, #808 in basicmachines-co/basic-memory),
the canonical permalink can carry up to three levels of routing —
short ('folder/note'), project-qualified ('project/folder/note'),
and workspace-qualified ('workspace/project/folder/note'). The
read/write tools accept all three shapes, and the returned permalink
from bm_write self-routes for follow-up reads when written with a
workspace-qualified project.

Two updates land in this commit:

1. New "Permalinks" section in SKILL.md documenting the three shapes
   with a worked table and the round-trip property. Memory:// URLs
   follow the same shapes and now get covered in the same section
   (the old one-line "Memory URLs" section is folded in).

2. The "Cross-project routing" section now explains that the `project`
   argument itself accepts workspace-qualified syntax
   ('personal/main', 'team-paul/research') — not only project_id can
   disambiguate workspaces. project_id is still highlighted as the
   most durable form (survives renames).

The recipe at the bottom of SKILL.md is updated to leverage the
permalink round-trip: write with workspace-qualified `project=`,
capture the returned (workspace-qualified) permalink, then read it
back with no `project` arg needed.

Updates the [0.3.0] CHANGELOG entry to mention the Permalinks section
addition.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The previous examples used '01HXYZ...' and 'uuid-1' as project_id
placeholders. The actual external_id values BM emits are str(uuid.uuid4())
(see basic-memory/src/basic_memory/models/project.py:45), so the
examples should look like UUIDs.

Uses two distinct fake UUIDs across SKILL.md and tests so they don't
look like shared state:
- bf2a4c1e-d77f-4b7a-9c3e-5d8a1f0e2b6d (SKILL.md examples + one test)
- e1d3a5b8-0492-4c1f-8e7d-2a4b6c8d0e2f (parametrized routing test)

SKILL.md uses ellipsed forms (bf2a4c1e-d77f-...) where the literal is
purely a placeholder, and the full UUID where the example is showing
what bm_projects actually returns.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Adds a "Further reading" section to SKILL.md linking the official docs
with raw-markdown URLs (/raw/<path>.md) the agent can WebFetch on
demand for deeper material than the skill itself contains. Mentions
the Accept: text/markdown content-negotiation alternative and points
at the llms.txt sitemap index for discovering pages not curated here.

Curated links cover knowledge format, observations & relations,
memory URLs (wildcards, title-based addressing), projects & folders,
semantic search, BM's full MCP tool surface, and cloud routing. Each
link has a one-line note describing when to reach for it.

Tightens the "Note structure" section to call out that observation
categories ([decision], [insight], [risk], …) and relation types
(relates_to, implements, …) are open-ended — the BM docs explicitly
embrace user-defined values. Adds a one-line note about YAML
frontmatter conventions (title, type, tags, permalink) with a link
to the knowledge-format reference.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@groksrc groksrc changed the title docs(skill): cross-project routing recipe + backfill bm_recent fix: cross-project routing recipe + backfill bm_recent May 12, 2026
@groksrc groksrc merged commit e11a1c8 into main May 12, 2026
5 of 6 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant